// 自定义校验数据中间件函数统一处理

function schemaData(schema) {
  return (req, res, next) => {
    const { error } = schema.validate({
      body: req.body,
      query: req.query,
      params: req.params
    }, {
      abortEarly: false, // 收集所有错误信息
      allowUnknown: true // 允许未知字段
    })

    if (error) {
      console.log('校验失败：', error.message);
      return res.error(400, error);
    }
    next();
  }
}

// 导出自定义中间件函数
module.exports = schemaData;